/**
 * 项目名称:
 * 深入list集合
 * ArrayList集合底层是数组，数组是有下标的,可自动扩容
 * ArrayList几何底层默认初始化容量是10，扩大之后的容量是原容量的1.5倍
 * 这两个方法在添加元素之前都会检查确认容量大小，如果容量不够大，就会按照原来的数组的1.5倍进行
 * 动态扩容，扩容之后将数组复制到新数组中
 * 如果是添加元素到指定位置，会导致该位置后面所有的元素都需要重新排序
 * 如果是添加元素到末尾，在没有发生扩容的前提下，是不会元素复制排序的过程
 * 提高ArrayList的性能：
 * 1、初始化时，如果知道存储数据的个数，可以指定数组容量的大小，这样可以避免数组的动态扩容；
 * 2、添加元素从末尾添加 l.add(22);
 *
 * @Author: 夏国倩
 * @Date: 2023/9/21 9:29
 * @Copyright
 */
package List;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ListTest2 {
    public static void main(String[] args) {
        //创建List集合
        List l=new ArrayList();
        //添加元素
        l.add(123); //直接将元素加入到数组的末尾
        l.add(345);
        l.add(67);
        //在下标为1的位置添加555
        l.add(1,555); //添加元素到指定下标
        //取得第一个元素
        System.out.println(l.get(0));
        System.out.println("-------------");
        //遍历（List集合特有的遍历方式）
        for (int i=0;i<l.size();i++){
            Object element=l.get(i);
            System.out.println(element);
        }
        //迭代器
        Iterator it=l.iterator();
        while (it.hasNext()){
            System.out.println(it.next());
        }
        //增强for循环
        for (Object o:l){
            System.out.println(o);
        }
    }
}
